package java_0308;

/**
 * 将用户输入的字符串转化（压缩）。
 * 例如： "aabbccdaa" -> "a2b2c2d1a2" 或者 例如： "abbcccffr" -> "a1b2c3f2r1"//注意，未合并
 */
public class StringCompression {
    public static String test4(String str){
        //首个字符一定出现了一次，从第二个字符开始和第一个字符比，相同计数，不同另一个字符开始计数
        StringBuilder sb=new StringBuilder();//元素往里添加
        //获取第一个字符
        char ch=str.charAt(0);
        //获取次数
        int times=1;
        for (int i = 1; i < str.length(); i++) {
            if(ch==str.charAt(i)){
                times++;
            }else{
                sb.append(ch);
                sb.append(times);
                //更新条件
                ch=str.charAt(i);
                times=1;
            }
        }
        //到这里字符串已经走到空了，此时最后一组重复或单个字符只是记录了次数，并未打印
        sb.append(ch).append(times);
//        System.out.println(sb.toString());
        return sb.toString();
    }

    public static void main(String[] args) {
        String str="aabbccdaa";
        str=test4(str);
        System.out.println(str);
    }
}
